package GUI.almacen;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.TitledBorder;

public class AlbaranOeste extends JPanel implements ActionListener {
 
	private static final long serialVersionUID = 1L;
	private JLabel _jlId;
	private JLabel _jlProveedor;   
	private JLabel _jlFecha;
	private JLabel _jlEstado;
	private JLabel _jlNotas;
	private JLabel _jlTotal;

	static JTextField _jtId;
	static JTextField _jtProveedor;
	static JTextField _jtFecha;
	static JTextField _jtEstado;
	static JTextField _jtNotas;
	static JTextField _jtTotal;
	
	private Boton _jbAceptar;
	private Boton _jbLimpiar;
	private String[] estado={"RECIBIDO","CANCELADO","PENDIENTE"};
	@SuppressWarnings("rawtypes")
	private JComboBox combo_estado;
	private Albaran _albaran;
	
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public AlbaranOeste(Albaran albaran){
		this._albaran= albaran;
		///////////////////////////////////////////
		this.setBorder(new TitledBorder("Modificar "));
		this.setLayout(new BorderLayout());

		/////////////////////////////////////////////
		JPanel contiene_jl_jt= new JPanel();
		contiene_jl_jt.setLayout(new GridLayout(6,0));
		/////////////////////////////////////////////

		//Panel para ID
		JPanel panelID=new JPanel();
		panelID.setLayout(new GridLayout(2,1));
		_jlId=new JLabel("ID");
		panelID.add(_jlId);
		_jtId=new JTextField();
		_jtId.setEditable(false);
		panelID.add(_jtId);
		contiene_jl_jt.add(panelID);
	 

		//Panel para proveedor
		JPanel panelProveedor= new JPanel();
		panelProveedor.setLayout(new GridLayout(2,1));
		_jlProveedor= new JLabel("Proveedor");
		panelProveedor.add(_jlProveedor);
		_jtProveedor= new JTextField();
		_jtProveedor.setEditable(false);
		panelProveedor.add(_jtProveedor);
		contiene_jl_jt.add(panelProveedor);		 
       
		
		//Panel para Fecha de Pedido
		JPanel panelFecha= new JPanel();
		panelFecha.setLayout(new GridLayout(2,1));
		_jlFecha= new JLabel("Fecha Pedido");
		panelFecha.add(_jlFecha);
		_jtFecha=new JTextField();
		_jtFecha.setEditable(false);
		panelFecha.add(_jtFecha);
		contiene_jl_jt.add(panelFecha);
		
		//panel para Estado-----------------------------------------------
		JPanel panelEstado= new JPanel();
		panelEstado.setLayout(new GridLayout(3,1));
		_jlEstado= new JLabel("Estado");
		panelEstado.add(_jlEstado);
		_jtEstado= new JTextField();
		_jtEstado.setEditable(false);
		panelEstado.add(_jtEstado);
		this.combo_estado=new JComboBox(estado);
		panelEstado.add(combo_estado);
		combo_estado.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				_jtEstado.setText(combo_estado.getSelectedItem().toString());

			}
		});
		contiene_jl_jt.add(panelEstado);

		//----------------------------------------------------------------
 

		//Panel para notas
		JPanel panelNotas= new JPanel();
		panelNotas.setLayout(new GridLayout(2,1));
		_jlNotas= new JLabel("Notas");
		panelNotas.add(_jlNotas);
		_jtNotas= new JTextField();
		panelNotas.add(_jtNotas);
		contiene_jl_jt.add(panelNotas);	

		//Panel para Total
		JPanel panelTotal= new JPanel();
		panelTotal.setLayout(new GridLayout(2,1));
		_jlTotal= new JLabel("Total");
		panelTotal.add(_jlTotal);
		_jtTotal= new JTextField();
		_jtTotal.setEditable(false);
		panelTotal.add(_jtTotal);
		contiene_jl_jt.add(panelTotal);	
		
		////////////////////////////
		this.add(contiene_jl_jt,BorderLayout.CENTER);
		///////////////////////////
	
		//panel Botones ACEPTAR y CANCELAR
		JPanel panelBotones= new JPanel();
		panelBotones.setLayout(new GridLayout(1,3));
	
		_jbAceptar=new Boton("Modificar");
		_jbAceptar.setActionCommand("Modificar");
		_jbAceptar.addActionListener(this);
		panelBotones.add(_jbAceptar);
	
		_jbLimpiar= new Boton("Limpiar");
		_jbLimpiar.setActionCommand("Limpiar");
		_jbLimpiar.addActionListener(this);
		panelBotones.add(_jbLimpiar);
	
	
	///////////////////////////////////////////////////////////////
	this.add(panelBotones,BorderLayout.SOUTH);
	//////////////////////////////////////////////////////////////

	}

	

	private void accion_al_modificar(){
		int id;
		String estado,notas;


		id=Integer.parseInt(_jtId.getText());
		estado=_jtEstado.getText();
		notas= _jtNotas.getText();
 
 
		//Por el momento
		if(estado.equalsIgnoreCase(Estado.PENDIENTE.toString())
		  ||estado.equalsIgnoreCase(Estado.RECIBIDO.toString())||
		  estado.equalsIgnoreCase(Estado.CANCELADO.toString())){
			_albaran.modificar_elemento_de_pedido(id,estado,notas);
			accion_al_limpiar();
		}
 
		
 
	}

	@SuppressWarnings("static-access")
	private void accion_al_limpiar(){
		this._jtId.setText("");
		this._jtProveedor.setText("");
		this._jtFecha.setText("");
		this._jtEstado.setText("");
		this._jtTotal.setText("");
		this._jtNotas.setText("");

	}

	@Override
	public void actionPerformed(ActionEvent e) {
		String accion= e.getActionCommand();

		if(accion.equals("Modificar"))
			this.accion_al_modificar();
		else if(accion.equalsIgnoreCase("Limpiar"))
			this.accion_al_limpiar();
	}	 
	
	
}
